package com.ctshk.rpc.order.ship.req;

import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 船票订单
 * </p>
 *
 * @author 刘蕾
 * @since 2021-03-16
 */
@Data
@ApiModel(value = "ShipOrder", description = "船票订单")
public class AppShipOrderReq extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "联系人姓")
    private String surname;

    @ApiModelProperty(value = "联系人名")
    private String name;

    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    @ApiModelProperty(value = "联系人手机")
    private String contactMobile;

    @ApiModelProperty(value = "联系人手机区号id")
    private Long contactMobileAreaCodeId;

    @ApiModelProperty(value = "联系人手机区号")
    private String contactMobileAreaCode;

    @ApiModelProperty(value = "联系人邮箱")
    private String contactEmail;

    @ApiModelProperty(value = "称谓(1:先生;2:女士;3:小姐;4:男童;5:女童)")
    private Integer appellation;

    @ApiModelProperty(value = "是否购买保险 0 不买 1购买",required = true)
    private Integer buyInsurance;

    @ApiModelProperty(value = "门票数")
    private Integer ticketNum;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty("收据抬头")
    private String receiptTitle;

    @ApiModelProperty("门店ID")
    private Long roomId;

    @ApiModelProperty(value = "优惠券代码")
    private String couponCode;

    @ApiModelProperty(value = "优惠券抵扣金额")
    private BigDecimal couponDeduction;

    @ApiModelProperty(value = "会员积分抵扣(100积分抵扣1元人民币,需换算)")
    private BigDecimal integralDeduction;

    @ApiModelProperty(value = "积分")
    private Integer integral;

    @ApiModelProperty(value = "使用积分")
    private Integer usingPoints;

    @ApiModelProperty(value = "会员ID")
    private Long memberId;

    @ApiModelProperty("渠道ID")
    private Long channelId;

    @ApiModelProperty(value = "船票订单旅客集合")
    private List<ShipOrderTouristReq> shipOrderTouristList;

    @ApiModelProperty(value = "船票订单产品集合")
    private List<ShipOrderRouteProductReq> shipOrderRouteProductList;


}
